cURL
curl --request GET \
--url https://sandbox.zapyd.com/cms/api/v1/bank/list/{customer_id} \
--header 'X-API-KEY: <api-key>' \
--header 'X-SIGNATURE: <api-key>' \
--header 'X-TIMESTAMP: <api-key>'import requests
url = "https://sandbox.zapyd.com/cms/api/v1/bank/list/{customer_id}"
headers = {
"X-API-KEY": "<api-key>",
"X-TIMESTAMP": "<api-key>",
"X-SIGNATURE": "<api-key>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {
'X-API-KEY': '<api-key>',
'X-TIMESTAMP': '<api-key>',
'X-SIGNATURE': '<api-key>'
}
};
fetch('https://sandbox.zapyd.com/cms/api/v1/bank/list/{customer_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://sandbox.zapyd.com/cms/api/v1/bank/list/{customer_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-KEY: <api-key>",
"X-SIGNATURE: <api-key>",
"X-TIMESTAMP: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://sandbox.zapyd.com/cms/api/v1/bank/list/{customer_id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-KEY", "<api-key>")
req.Header.Add("X-TIMESTAMP", "<api-key>")
req.Header.Add("X-SIGNATURE", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://sandbox.zapyd.com/cms/api/v1/bank/list/{customer_id}")
.header("X-API-KEY", "<api-key>")
.header("X-TIMESTAMP", "<api-key>")
.header("X-SIGNATURE", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox.zapyd.com/cms/api/v1/bank/list/{customer_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-KEY"] = '<api-key>'
request["X-TIMESTAMP"] = '<api-key>'
request["X-SIGNATURE"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"status": true,
"message": "Success",
"data": {
"count": 1,
"next": null,
"previous": null,
"results": [
{
"id": "4e6f1b20-a73c-11ec-b909-0242ac120002",
"customer_id": "550e8400-e29b-41d4-a716-446655440000",
"country": "IND",
"bank_account_type": "ACCOUNT_DETAILS",
"identifiers": {
"account_number": "7627389201",
"ifsc": "SBIN0001829"
},
"bank_account_status": "VERIFIED",
"beneficiary_name": "JOHN DOE",
"bank_name": "State Bank of India",
"failure_reason": null
}
]
}
}{
"status": false,
"message": "Bad Request",
"err_code": "REQ_FIELD_MISSING",
"errors": {
"customer_id": [
"customer_id is required"
]
},
"data": null
}{
"status": false,
"message": "Internal Server Error",
"data": null,
"err_code": "SYS_INTERNAL_ERROR",
"errors": "Unexpected error occurred. Please try again later."
}Bank accounts
Fetch Bank Accounts
Lists a customer’s bank accounts.
GET
/
bank
/
list
/
{customer_id}
cURL
curl --request GET \
--url https://sandbox.zapyd.com/cms/api/v1/bank/list/{customer_id} \
--header 'X-API-KEY: <api-key>' \
--header 'X-SIGNATURE: <api-key>' \
--header 'X-TIMESTAMP: <api-key>'import requests
url = "https://sandbox.zapyd.com/cms/api/v1/bank/list/{customer_id}"
headers = {
"X-API-KEY": "<api-key>",
"X-TIMESTAMP": "<api-key>",
"X-SIGNATURE": "<api-key>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {
'X-API-KEY': '<api-key>',
'X-TIMESTAMP': '<api-key>',
'X-SIGNATURE': '<api-key>'
}
};
fetch('https://sandbox.zapyd.com/cms/api/v1/bank/list/{customer_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://sandbox.zapyd.com/cms/api/v1/bank/list/{customer_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-KEY: <api-key>",
"X-SIGNATURE: <api-key>",
"X-TIMESTAMP: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://sandbox.zapyd.com/cms/api/v1/bank/list/{customer_id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-KEY", "<api-key>")
req.Header.Add("X-TIMESTAMP", "<api-key>")
req.Header.Add("X-SIGNATURE", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://sandbox.zapyd.com/cms/api/v1/bank/list/{customer_id}")
.header("X-API-KEY", "<api-key>")
.header("X-TIMESTAMP", "<api-key>")
.header("X-SIGNATURE", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox.zapyd.com/cms/api/v1/bank/list/{customer_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-KEY"] = '<api-key>'
request["X-TIMESTAMP"] = '<api-key>'
request["X-SIGNATURE"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"status": true,
"message": "Success",
"data": {
"count": 1,
"next": null,
"previous": null,
"results": [
{
"id": "4e6f1b20-a73c-11ec-b909-0242ac120002",
"customer_id": "550e8400-e29b-41d4-a716-446655440000",
"country": "IND",
"bank_account_type": "ACCOUNT_DETAILS",
"identifiers": {
"account_number": "7627389201",
"ifsc": "SBIN0001829"
},
"bank_account_status": "VERIFIED",
"beneficiary_name": "JOHN DOE",
"bank_name": "State Bank of India",
"failure_reason": null
}
]
}
}{
"status": false,
"message": "Bad Request",
"err_code": "REQ_FIELD_MISSING",
"errors": {
"customer_id": [
"customer_id is required"
]
},
"data": null
}{
"status": false,
"message": "Internal Server Error",
"data": null,
"err_code": "SYS_INTERNAL_ERROR",
"errors": "Unexpected error occurred. Please try again later."
}Fetch Bank Accounts
| API Status Code | Response | Reason |
|---|---|---|
| 400 | Customer not found or access denied | Customer not found |
| 400 | Customer not found or access denied | Customer does not belong to the organization |
| 500 | Internal Server Error. | Internal Server Error |
Authorizations
API Key for authentication
Current timestamp in seconds since epoch
HMAC SHA256 signature of the request encoded in Base64
Path Parameters
Customer's unique identifier
Query Parameters
Page number
Required range:
x >= 1Results per page (10–100)
Required range:
10 <= x <= 100Response
Bank accounts fetched successfully
Example:
true
Example:
"Success"
- Paginated (non-USA)
- USA
Hide child attributes
Hide child attributes
Example:
1
Example:
null
Example:
null
Hide child attributes
Hide child attributes
Bank account ID
Example:
"4e6f1b20-a73c-11ec-b909-0242ac120002"
Customer ID
Example:
"550e8400-e29b-41d4-a716-446655440000"
Customer country (alpha-3)
Example:
"IND"
Payment rail
Available options:
ACCOUNT_DETAILS, UPI Example:
"ACCOUNT_DETAILS"
Rail-specific identifiers. ACCOUNT_DETAILS: account_number and ifsc. UPI: vpa.
Example:
{ "account_number": "7627389201", "ifsc": "SBIN0001829" }
Verification status
Available options:
PROCESSING, VERIFIED, FAILED, MANUAL_REVIEW Example:
"VERIFIED"
Account holder name returned by bank verification
Example:
"JOHN DOE"
Bank name
Example:
"State Bank of India"
Set when bank_account_status is FAILED
Example:
null